This invention relates to computers, and more particularly to remotely controlling peripheral devices.
A script is a batch file which consists of a list of commands that can be executed without user interaction. A script differs from a program, in that, a program is compiled to physical machine code once and can then be run multiple times, whereas a script must be interpreted each time it is used and is not machine dependent. Scripting languages, such as Perl, provide strong file and text manipulation facilities and are often used for CGI script writing for World Wide Web page development. Such scripts allow World Wide Web (WWW) pages to be interactive. Information may be gathered by a webserver and information may be provided from the webserver to users accessing the WWW page. Although scripting languages allow the storage and retrieval of data, they are not directed to manage peripheral devices.
C++ based APIs exist that are designed to interface with specific hardware. Such APIs contains standard objects representative of the physical components of the hardware. By accessing these objects in a compilable C++ program, physical parameters of the hardware may be managed.
To remotely manage a specific hardware device using a C++ based API across a network, such as the WWW, a programmer must write a C++ compilable program. Since the management program must be compiled, the program is system dependent and will not run on different types of computers running different operating systems, making the program less than ideal for the WWW. Additionally to design a program for remote management of a peripheral device, the programmer needs to design a graphical user interface in C++ or another computer language, and have an extensive knowledge of the various physical subsystems to be managed and the related classes and subclasses of the API.
In accordance with one aspect of the invention, a method and apparatus for controlling a peripheral device is provided. In a server, in a client/server environment, a server application receives a request for execution of a peripheral device script from a client application. The server application retrieves a peripheral device script which is associated with the request and the peripheral device script is passed to a script interpreter. The script interpreter converts the peripheral device script into at least one control signal. A device control module is coupled to the script interpreter and sends the control signal to the peripheral device. The device control module receives information signals from the peripheral device and forwards the information signals to the client application. The script may include code for configuring the peripheral device, code for requesting information about the peripheral device or code for controlling the peripheral device. The client/server environment may operate in a network and the network may be the Internet.
In another embodiment, the system may include a peripheral device database which contains object representations of components of the peripheral device. The peripheral device may be configured by configuring the object representation of the peripheral device. Additionally, data concerning the peripheral device may be retrieved from the object representation of the peripheral device or one of the components of the peripheral device. In one embodiment, the peripheral device may be a disk storage array.